﻿#pragma once
#include "common_data.h"
#include <opencv2/opencv.hpp>
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <QVector>


typedef pcl::PointXYZ PointT;
typedef pcl::PointCloud<pcl::PointXYZ> PointCloud;

namespace visual {
	// 顶点信息
	struct PointCoor {
		float x;
		float y;
	};

	struct BoxPoint {
		PointCoor p1;
		PointCoor p2;
		PointCoor p3;
		PointCoor p4;
		int id;
	};

	struct GrabArea {
		int id;	// 区域数量
		int len;
		int wid;
		Position pos;
	};

	struct BoxInfo {
		int id;
		int length;
		int width;
		Position pos;	// 中心点坐标
		PointCloud::Ptr cloud;	// 点云
	};

	struct GrabBoxGroup {
		int num;
		BoxInfo all;	// 整体数据
		QVector<BoxInfo> box;
	};

	struct GrabInfo {
		int id;
		Position sku;
		Position jigInSku;
		Position grabPos;
		PointCloud::Ptr jig_w;
		int interfere;
		int socer
	};
}

